12
תגובות

ID AUTO INCERMENT

פתח משתמש_225673 ,
כאשר אני מוחק שורה מהמסד ,הID שנתתי לו מספור אוטומטי לא מתאפס
יש דרך לאפס אותו מבלי למחוק את העמודה שלו כל פעם?

12 תשובות

avatar ענה intval ב 07 ליוני 2012 #

אין דרך קלה.
חוץ מזה, עד עכשיו האנושות לא מצאה שום סיבה לאפס אותו.
איזה סיבה אתה מצאת?

avatar ענה iiddaannyy ב 07 ליוני 2012 #

ALTER TABLE `table` AUTO_INCREMENT = num

או שתשתמש ב-phpmyadmin.

אבל למה לך לאפס אותו?

avatar ענה משתמש_225673 ב 07 ליוני 2012 #

הסיבה שאני מצאתי זה הצאט שלי שמכיל הודעות וID ממוספר..
אני מוחק מידי פעם את הטבלאות ושמתי לב שהאיידי נשמר למרות שאני מוחק
אז יוצא מצב כשאני רוצה לאפס את האיידי אז אני אמור לעשות לו מחיקה והגדרה מחדש..

avatar ענה משתמש_225673 ב 07 ליוני 2012 #

דרך אגב מה שהבאת לא עובד כבר בדקתי את זה מFXP

avatar ענה משתמש_232205 ב 07 ליוני 2012 #

ברור שיש דרך לאפס
לך בPHPMYADMIN ל operations ושמה יש כפתור בשם
Empty the table (TRUNCATE)

זה מאפס

avatar ענה intval ב 07 ליוני 2012 #

אני לא כל כך מבין את הקשר של ID שזה בסה"כ מזהה ייחודי של שורה בטבלה לצ'אט שלך.
איזה בעיה חורים ב ID גורמים ?

avatar ענה משתמש_225673 ב 08 ליוני 2012 #

אמרתי לך אני מוחק לפעמים שורות מהמסד
פשוט זה מעצבן אותי כשאני רואה שהאיידי לא מתאפס
אין דרך למחוק או לאפס אותו?, אולי איכשהו ALTER לשנות לו את הסוג אולי או להגדיר לו מחדש סוג של מספור אוטומטי..

avatar ענה intval ב 08 ליוני 2012 #

זה אומר שאין שום סיבה לאפס את זה חוץ מזה שזה "מעצבן אותך" ?
אתה יכול להספיק להיסתכל עליו. זה מספר טכני שהמטרה היחידה שלו זה לזהות בצורה חד ערכית את השורה בטבלה.

מספר תעודת הזהות שלך גם מעצבן אותך?
אני יכול להבטיח לך שאין מישהו בארץ עם מספר זהות שלך +1.

ואם אני אגיד לך שזו פעולה ממש כבדה מבחינת זכרון וביצועים שאפשר לעשות על טבלה - זה עדיין ממשיך לעצבן אותך?

אם כן, כנראה שצריך פורום תמיכה פסיכולוגית, לא תמיכה תכנותית :)

avatar ענה iiddaannyy ב 08 ליוני 2012 #

תשאיר את זה ככה. ה-id הוא לא בשבילך, הוא בשביל הקוד שלך ובשביל מה שאתה עושה.
זה סה"כ מספר ייחודי.
בכל מקרה, כנס ל-phpmyadmin, בחר בטבלה שלך, בחר operations, תחת table options יש לך תיבת AUTO_INCREMENT, שים שם את המספר שאתה רוצה ותלחץ ENTER/כפתור GO.

avatar ענה intval ב 08 ליוני 2012 #

אגב, אם אתה מוחק את כל כל הטבלה, במקום לעשות

delete from table

תעשה
truncate table

avatar ענה משתמש_225673 ב 10 ליוני 2012 #

איך אני עושה את זה לכל הטבלה חוץ מה50 השורות האחרונות ע"פ סדר האיידי?

avatar ענה משתמש_235083 ב 10 ליוני 2012 #

אי אפשר.
truncate מנקה את כל הטבלה.